The present invention relates generally to a data sharing method and system between information processing systems, and more particularly to a data access method and apparatus for use in a computer system comprising an information processing system and another information processing system having an internal auxiliary storage device connected thereto for accessing the internal auxiliary storage device from any information processing system.
A general-purpose large computer (or a main frame which is hereinafter referred to as the xe2x80x9cinformation processing systemxe2x80x9d) typically employs variable length block format magnetic disk units as external storage devices. To access such a magnetic disk unit, a variable length access interface (for example, CKD (Count Key Data)) is employed for enabling data accesses in variable length block format. Conventionally, variable-length block formatted data have been physically implemented on a disk unit having this variable length access interface. In recent years, however, disk arrays composed of relatively inexpensive disk units generally used for PC and workstations have been widespread as storage devices for variable-length block formatted data.
In regard to a disk array for use with a general-purpose information processing system, disk units conforming to a fixed length block format referred to as FBA (Fixed Block Architecture) are typically used for individual disk units, as-found in a literature xe2x80x9cMain Frame ""98,xe2x80x9d published by Nikkei BP, pp. 126-130. Then, an associated disk array controller has a fixed length/variable length block format conversion function, so that an information processing system is connected to the disk controller through a variable length access interface, for example, a SCSI (Small Computer Interface) interface. A read/write request from an information processing system, such as that issued from an operating system, is composed of a plurality of input/output commands referred to as CCWs (Channel Command Words). The plurality of CCWs are referred to as a xe2x80x9cCCW chain.xe2x80x9d The CCW chain is created by the operating system of the information processing system in accordance with a request from an application program.
A magnetic disk drive is typically utilized as a disk subsystem comprising a disk control unit and disk units, which is mounted external to an information processing system. When the information processing system reads/writes data from/into a disk unit, the information processing system first sends a command conforming to a variable length block format to the disk subsystem. The disk control unit disposed in the disk subsystem receives the command issued by the information processing system, and converts the command from the variable length block format to a fixed length block format such that the disk unit can be accessed by this command (disclosed in JP-A-6-150557).
FIG. 2 illustrates an information processing system which has an external disk subsystem connected thereto. The information processing system 3 is connected to the disk subsystem 4 through a communication line 34. The information processing system 3 is provided with a plurality of I/O channels 33 for controlling transmission/reception of information to/from external devices in place of the information processing system 3. One of the I/O channels 33 is connected to the disk subsystem 4 which comprises a disk controller 41 and a plurality of fixed length block format disk units 42 operating under the control of the disk controller 41. A variable length access interface is included in the disk controller 41. The I/O channels 33 constitute a variable length access interface. The disk controller 41 has a function of performing conversion between the variable length block format and the fixed length block format. Each of the disk units 42 is accessed through a fixed length access interface.
Now, a conventional method of accessing data from the information processing system to the disk subsystem will be described in connection with data read/write operations with reference to a flow chart of FIG. 6.
Step 601: For accessing data stored in a disk unit 42, a CPU 32 creates a read/write request as a CCW for controlling the data and the disk unit through an operating system running on the CPU 32, and stores the read/write request in a main memory 31. The CPU 32 initiates the associated I/O channel 33 to start the read/write request. After this processing, the CPU 32 is released for performing other processing.
Step 602: The I/O channel 33 issues the read/write access to the disk controller 41 to initiate the disk unit 42.
Step 603: The I/O channel 33 regards the plurality of disk control units 42 under the control of the disk control unit 41 as conforming to a variable length block format based on a count-key-data (CKD) architecture, and issues the variable-length formatted CCW residing on the main memory 31 to the disk controller 41.
Step 604: The disk controller 41 converts the variable-length block formatted CCW to a fixed length block formatted counterpart, i.e., a SCSI command.
Step 605: After converting the CCW to the SCSI command, the disk controller 41 sends the command to the plurality of subordinate disk units 42 for controlling them to perform a seek operation to position their respective heads over target records. For a data read, requested data is read from the disk unit 42, transferred through the disk controller 41 and the I/O channel 33, and written into the main memory 31. For a data write, data on the main memory 31 is read, and a write request is issued to the disk controller 41.
Step 606: When the data transfer is completed, the I/O channel 33 generates an interrupt to the CPU 32 to inform the same of the completion of the data transfer, thus terminating the I/O operation.
The sequence of I/O operations mentioned above is described in xe2x80x9cM-series Processing System (M/ASA Mode) Manualxe2x80x9d (document number 8080-2-146) published by Hitachi Ltd. and xe2x80x9cH-6582-C3 Model Disk Control Unit Manualxe2x80x9d (document number 8080-2-130-60) also published by Hitachi Ltd.
A prior art internal disk is described, for example, in xe2x80x9cMain Frame ""98xe2x80x9d published by Nikkei BP, pp. 53-54. This literature discloses a technique for installing a fixed length block format disk within a chassis of an information processing system. Specifically, a fixed length block format disk is directly connected to a processor within the information processing system, such that the processor interprets a CCW chain generated by an operating system, referred to as xe2x80x9cSAPxe2x80x9d (System Assist Processor), residing on another processor in the information processing system, accesses the fixed length block format disk, performs fixed length/variable length block format conversion, and executes an input/output request. The fixed length/variable length block format conversion is implemented by using a portion of a main memory as a disk cache. Since this technique permits the utilization of the small disk built in the chassis of the information processing system without the need for modifying the existing operating system or application programs, a consequent reduction in size and cost can be accomplished for the information processing system.
In the disclosed technique mentioned above, however, connected to the processor of the information processing system through the interface conforming to the fixed length block format is only the fixed length disk unit built in the chassis. No such interface conforming to the fixed length block format is provided for any storage external to the chassis, i.e., storage shared by other hosts such as other information processing systems.
FIG. 3 illustrates an example of an information processing system 301 which has a prior art internal disk unit. In conjunction with the system of FIG. 3, a method of processing a read/write request, when sent from the information processing system 301, will be described with reference to a flow chart of FIG. 4.
Step 401: The information processing unit 301 generates a CCW (read/write request) through an operating system running on a CPU 312. The generated CCW is stored in a main memory 311.
Step 402: A memory control processor 314 receives the CCW stored in the main memory 311, analyzes the CCW, and identifies a record specified by the read/write request.
Step 403: The memory control processor 314 classifies the specified request into a read request or a write request. The flow proceeds to step 404 when it is a read request, and to step 410 when it is a write request.
Step 404: It is determined whether or not the requested record is stored in a cache memory 311A. The flow proceeds to step 405 if stored (hit), and to step 408 if not (miss).
Step 405: The cache memory 311A is searched for the requested record to identify its stored location.
Step 406: The identified record is transferred to the main memory 311 at a storage location specified by the request.
Step 407: The completion of the request is informed.
Step 408: A memory area is assigned to store the requested record in the cache memory 311A.
If the read request is failed, i.e., if a cache miss occurs, a data format conversion mechanism 342 converts the read request command (CCW) sent in variable length block format to a command for an access interface conforming to the fixed length block format (SCSI command). The converted command is transmitted to an external storage device 315.
Step 409: A target track is read from the external storage device 315, and stored in the cache memory 311A. The memory control processor 314 waits for the processing to complete, and the flow proceeds to step 406 when the processing is completed.
Step 410: When the request is a write request, the data format conversion mechanism 342 converts the write request command (CCW) sent in variable length block format to a command for the access interface conforming to the fixed length block format (SCSI command). The memory control processor 314 determines in which part of the cache memory 311A the requested record should be stored.
Step 411: Write data is transferred from a storage location in the main memory 311 specified by the write request to the cache memory 311A.
Step 412: The memory control processor 314 requests internal storage device 315 to write therein the record written into the cache memory.
Step 413: The memory control processor 314 waits for the processing to complete, and the flow proceeds to step 407 when the processing is completed. The processing at step 412 may be executed after the completion of the write request has been informed, i.e., write-after may be employed. In FIG. 3, the main memory includes an area 311B for storing cache management information.
The foregoing internal disk control technique, when applied, enables an external storage system having a fixed length access interface to be connected to a general-purpose information processing system. Since such external storage devices are provided from a large number of vendors, the user can have a variety of options in accordance with the price, performance, reliability and so on. This means significant benefits to the user.
However, conventional information processing systems, which only make accesses conforming to the variable length block format, can only access storage systems having variable length access interface, but cannot access SCSI disks and so on which conform to the fixed length block format.
It is an object of the present invention to provide an method and apparatus for enabling at least one information processing system not having any interface conforming to a fixed length block format to access a disk unit associated with an interface conforming to the fixed length block format.
It is another object of the present invention to provide a method and apparatus for sharing a disk unit conforming to a fixed length block format between an information processing system having an interface conforming to the fixed length block format and an information processing system not having an interface conforming to the fixed length block format.
To achieve the above objects, in one aspect of the present invention, a processor in a particular information processing system for performing conversion between a fixed length block format and a variable length block format is connected to a processor in another information processing system for generating a CCW. The other information processing system does not have a processor for performing conversion between the fixed length block format and the variable length block format. The processor in the particular information processing system has a function of executing a CCW chain generated by the other information processing system in accordance with a variable length/fixed length block format conversion function.
The particular information processing system also has an interface conforming to the fixed length block format for a storage external to its chassis. Specifically, devices conforming to the fixed length block format may be connected to the particular information processing system for use as connectable devices externally attached to the chassis. A processor connected to a device which supports a fixed length interface with a storage external to the chassis has a function of executing a CCW chain generated by the other processor in accordance with the variable length/fixed length block format conversion function.
The particular information processing system thus connected interprets and executes CCW commands received from individual information processing systems. Specifically, the information processing systems communicate CCW commands one by one for controlling data transferred therebetween as well as for controlling a connected storage device conforming to the fixed length block format. A processor within the particular information processing system, dedicated to controlling the storage device conforming to the fixed length block format, sequentially interprets the commands, and converts each command to a SCSI command, when the storage device conforming to the fixed length block format is a SCSI disk unit, and issues the SCSI command to the SCSI disk unit to execute operations.
The foregoing feature enables an information processing system not having a fixed length block format interface to be connected to an information processing system having connected thereto a storage device including a fixed length block format interface, thereby providing a computer system which permits the information processing system not having a fixed length block format interface to access the storage device including the fixed length block format interface.
The processor responsible for the fixed length/variable length conversion in the information processing system having the fixed length block format interface performs the processing associated with the CCW. The present invention implements, in the processor responsible for the fixed length/variable length conversion, a mechanism for managing which information processing system is the source of a particular CCW, thereby providing a computer system which enables a plurality of information processing systems to respectively store commonly accessible data in a storage device including an interface conforming to the fixed length block format, for example, a disk array.
Other objects, features and advantages of the present invention will become apparent from the following description of the embodiments of the invention taken in conjunction with the accompanying drawings.